15 research outputs found
On the Energy Overhead of Mobile Storage Systems
Abstract Secure digital cards and embedded multimedia cards are pervasively used as secondary storage devices in portable electronics, such as smartphones and tablets. These devices cost under 70 cents per gigabyte. They deliver more than 4000 random IOPS and 70 MBps of sequential access bandwidth. Additionally, they operate at a peak power lower than 250 milliwatts. However, software storage stack above the device level on most existing mobile platforms is not optimized to exploit the low-energy characteristics of such devices. This paper examines the energy consumption of the storage stack on mobile platforms. We conduct several experiments on mobile platforms to analyze the energy requirements of their respective storage stacks. Software storage stack consumes up to 200 times more energy when compared to storage hardware, and the security and privacy requirements of mobile apps are a major cause. A storage energy model for mobile platforms is proposed to help developers optimize the energy requirements of storage intensive applications. Finally, a few optimizations are proposed to reduce the energy consumption of storage systems on these platforms
Software Defined Batteries
Abstract Different battery chemistries perform better on different axes, such as energy density, cost, peak power, recharge time, longevity, and efficiency. Mobile system designers are constrained by existing technology, and are forced to select a single chemistry that best meets their diverse needs, thereby compromising other desirable features. In this paper, we present a new hardware-software system, called Software Defined Battery (SDB), which allows system designers to integrate batteries of different chemistries. SDB exposes APIs to the operating system which control the amount of charge flowing in and out of each battery, enabling it to dynamically trade one battery property for another depending on application and/or user needs. Using microbenchmarks from our prototype SDB implementation, and through detailed simulations, we demonstrate that it is possible to combine batteries which individually excel along different axes to deliver an enhanced collective performance when compared to traditional battery packs
Bridging the Memory-Storage Gap
The Internet has become indispensable in the developing world. It has
become an important tool for providing entertainment, for enabling and
bettering human communication, for delivering effective education, for
conducting research, for spreading news, and for organizing people
to rally to various causes. However, today, only a third of the world's
population has quality access to the Internet. The Internet has two
primary hindrances for expansion. First, the high cost of network
connectivity in developing regions and second, the high cost of
establishing new data centers to reduce the load on the existing data
centers. Fortunately, caches in various forms help address both these
problems by storing reusable content near the clients. Despite their
importance, today's caches are limited in their scale because of the
trends in the evolution of current memory-storage technologies.
The widening gap between memory and storage is limiting the
performance of applications like caches. The ever-increasing
amount of data and the need to access more of it quickly have further
magnified the gap. Limited DRAM capacity of servers makes it
difficult to obtain good in-memory hit-rates that are vital for
avoiding high-latency disk accesses. This dissertation presents two
new complementary methods (HashCache and SSDAlloc) to bridge this gap
for caches that affect the performance of many applications including
HTTP Web Proxy caches, wide area network accelerators, content
distribution networks, and file backup services. First, we will
develop HashCache, a novel method to drastically improve the memory
efficiency of caches. By reducing the amount of memory needed for
caching by up to 20 times, it reduces the cache's total cost of
ownership. While HashCache makes more effective use of limited RAM in
a system, SSDAlloc introduces a tier of new memory technology like
NAND-Flash between RAM and disk to further bridge the gap.
SSDAlloc removes the impediments to the integration of new
high-capacity memory technologies like NAND-Flash into the memory
hierarchy. SSDAlloc is a novel memory manager that helps applications
like HashCache tier data transparently and efficiently between DRAM
and NAND-Flash. With only a few modifications to an existing
application, restricted to the memory allocation portions of the code,
one can reap the benefits of new memory technologies. Additionally,
with SSDAlloc, applications can obtain 90\% of the raw performance of
NAND-Flash, while existing transparent tiering mechanisms deliver only
6-30\% of that. Furthermore, by cleverly discerning application
behavior, SSDAlloc writes up to 32 times less data to NAND-Flash when
compared to similar existing mechanisms. This greatly increases the
reliability of NAND-Flash that has a limited lifetime unlike DRAM
Beating Netbooks into Servers: Making Some Computers More Equal Than Others
With the advent of cheap netbooks, expanding Internet access to the developing world is becoming more and more feasible. However, classroom computers benefit from applications typically deployed on servers, such as proxy caches, WAN accelerators, backup, etc. Server infrastructure, unfortunately, is not as well suited for developing-world use, since it tends to be less ruggedized, more power-hungry, and more expensive, making it difficult for small deployments to adequately maintain, stock and replace. To address these issues, we consider the notion of turning a netbook in to a low-end server via software support. Many netbooks ship with multi-gigabyte solid state disks (SSD) that are intended for local storage. By attaching an external disk and using the SSD to augment the typically-meager RAM memory, we can instead use a netbook as a server. Unfortunately, SSD behaves very differently from RAM, and requires special consideration to be used effectively. To this end, we introduce SSDAlloc, a hybrid memory manager that provides simple programming constructs that developers can use to build server software with small RAM footprints and good performance. With SSDAlloc and an external hard disk, a netbook can act as a server for the entire school, dramatically reducing deployment cost and complexity.